\section{Descrizione dei moduli implementati}
Sin dalle prime fasi della progettazione il programma è stato suddiviso in moduli, ognuno dei quali è implementato come una libreria, la quale comunica con le altre tramite interfacce fissate. Questa scelta è stata dettata sia dalla necessità di una efficace suddivisione del lavoro tra i programmatori che dalla volontà di rendere intercambiabili i moduli, per sostituirli con versioni più efficienti o debug-oriented.


\subsection{UML del moduli}
Per meglio comprendere le scelte progettuali fatte, viene presentato in figura \ref{fig:uml_cncsimulator} il diagramma UML dei moduli e delle classi principali che compongono il software.

\begin{sidewaysfigure}[htp]
	\centering
	\includegraphics{img/uml_cncsimulator}
	\caption{UML dei moduli e delle classi principali del software.}
	\label{fig:uml_cncsimulator}
\end{sidewaysfigure}


\input{section/modules_configurator}

\input{section/modules_miller}

\input{section/modules_mesher}

\input{section/modules_visualizer}